package com.ruoyi.biz.mapper;

import com.ruoyi.biz.entity.WechatUserDO;
import java.util.List;
import org.apache.ibatis.annotations.Param;

/**
* 微信用户信息表(WechatUser)表数据库访问层
*
* @author makejava
* @since 2024-09-18 23:01:00
*/
public interface WechatUserDAO {

    /**
    * 通过ID查询单条数据
    *
    * @param userId 主键
    * @return 实例对象
    */
    WechatUserDO queryById(String userId);

    /**
    * 通过实体作为筛选条件查询
    *
    * @param wechatUserDO 实例对象
    * @return 对象列表
    */
    List<WechatUserDO> queryList(WechatUserDO wechatUserDO);
    
    /**
    * 单条新增数据
    *
    * @param wechatUserDO 实例对象
    * @return 影响行数
    */
    int insert(WechatUserDO wechatUserDO);
    
    /**
    * 批量新增数据
    *
    * @param wechatUserDOS 对象列表
    * @return 影响行数
    */
    int insertBatch(@Param("wechatUserDOS") List<WechatUserDO> wechatUserDOS);
    
    /**
    * 修改数据
    *
    * @param wechatUserDO 实例对象
    * @return 影响行数
    */
    int update(WechatUserDO wechatUserDO);
    
    /**
    * 批量修改数据
    *
    * @param wechatUserDOS 实例列表
    * @return 影响行数
    */
    int updateBatch(@Param("wechatUserDOS") List<WechatUserDO> wechatUserDOS);

    /**
    * 通过ID删除数据
    *
    * userId 主键
    * @return 影响行数
    */
    int deleteById(String userId);

    /**
    * 批量删除数据
    *
    * @param wechatUserDOS 实例列表
    * @return 影响行数
    */
    int deleteBatch(@Param("wechatUserDOS") List<WechatUserDO> wechatUserDOS);

    int removeBind(String userId);
}
